Testing Data Types Implementations from Algebraic Specifications
نویسندگان
چکیده
Algebraic specifications of data types provide a natural basis for testing data types implementations. In this framework, the conformance relation is based on the satisfaction of axioms. This makes it possible to formally state the fundamental concepts of testing: exhaustive test set, testability hypotheses, oracle. Various criteria for selecting finite test sets have been proposed. They depend on the form of the axioms, and on the possibilities of observation of the implementation under test. This last point is related to the wellknown oracle problem. As the main interest of algebraic specifications is data type abstraction, testing a concrete implementation raises the issue of the gap between the abstract description and the concrete representation. The observational semantics of algebraic specifications bring solutions on the basis of the so-called observable contexts. After a description of testing methods based on algebraic specifications, the chapter gives a brief presentation of some tools and case studies, and presents some applications to other formal methods involving datatypes.
منابع مشابه
A Tool for Testing Data Type Implementations from Maude Algebraic Specifications
This paper presents a tool for testing data types implemented in C++ against formal specifications written in Maude. Maude is a formal specification language based on rewriting logic that allows the specification of abstract data types in a clear and concise manner. Moreover, Maude specifications are executable, which provides two advantages: firstly, we can test our specifications and, secondl...
متن کاملAPE: An Expert System for Automatic Programming from Abstract Specifications of Data Types and Algorithms
The APE (Automatic Programming Expert) system constructs executable and efficient programs from ■ algebraic specifications of abstract data types, and • abstract algorithms given as conditional term-rewrite-rule-systems with term', built up from operation symbols of the abstract data types involved. The APE is an experimental system devised to develop methods for codifying a rather broad extent...
متن کاملExecuting Specifications Using Synthesis and Constraint Solving
Specifications are key to improving software reliability as well as documenting precisely the intended behavior of software. Writing specifications is still perceived as expensive. Of course, writing implementations is at least as expensive, but is hardly questioned because there is currently no real alternative. Our goal is to give specifications a more balanced role compared to implementation...
متن کاملSpecification-Driven Unit Test Generation for Java Generic Classes
Several approaches exist to automatically derive test cases that check the conformance of the implementation of abstract data types (ADTs) with respect to their specification. However, they lack support for the testing of implementations of ADTs defined by generic classes. In this paper, we present a novel technique to automatically derive, from specifications, unit test cases for Java generic ...
متن کاملFeature graphs and abstract data types: a unifying approach
Feature graphs appearing in unification--based grammar formalisms and algebraic specifications of abstract data types (ADTs) are both used for defining a collection of objects together with functions between these object sets. Starting from this observation we define an algebraic semantics for feature graphs by assigning an algebraic specification to each feature graph. This opens the rich worl...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008